import router from '../router'
import store from '../store/index.js';
import Global from '../tools/global'; // 引入global.js
import { Message } from 'element-ui';
//没有sessionStorage，跳转首页
if( is_empty(sessionStorage.getItem('token') ) ){
    // console.info(location.protocol , location.host.split(':')[0]);
    Message.error("请先登录")
    setTimeout(() => {
        window.location.href = location.protocol +'//'+ location.host.split(':')[0]
    }, 2000)

}
 // 页面刷新初始化数据
 if( is_empty( store.getters.isCheckToken ) ){

    //根据sessionStorage获取路由数据
    router.options.routes[1].children = !is_empty( sessionStorage.getItem('route_str') ) ? JSON.parse( sessionStorage.getItem('route_str') ) : []  ;
    //动态添加路由
    router.addRoutes( router.options.routes );
   
    //根据sessionStorage获取路由数据
    store.commit('SET_USERINFO', !is_empty( sessionStorage.getItem('user_info_str') ) ? JSON.parse( sessionStorage.getItem('user_info_str') ) : {});
    // store.commit('SET_USER_MULTISTAGE', !is_empty( sessionStorage.getItem('user_multistage')));
    
    //设置全局用户id
    Global.user_id = !is_empty( sessionStorage.getItem('user_info_str') ) ? JSON.parse( sessionStorage.getItem('user_info_str')).id : 0;
    Global.user_name = !is_empty( sessionStorage.getItem('user_info_str') ) ? JSON.parse( sessionStorage.getItem('user_info_str')).name : '';
}
//路由钩子
router.beforeEach((to, from, next) => {

    if(to.name != 'login' ){
        //定义左侧菜单栏
        var letMenuNav = [];
        //分割url
        var pathSplit = to.fullPath.split('/');
        //获取左侧菜单
        if( !is_empty( router.options.routes[1].children ) &&  pathSplit[1] != 'login' &&  pathSplit[1] != 'index' ){
            var sys_column =   getOneColumn( router.options.routes[1].children,  'authName' );
            var inx = sys_column.indexOf( pathSplit[1] );
            if( !is_empty(pathSplit[1]) && inx > -1 ){
                letMenuNav = deep_clone( router.options.routes[1].children[inx] );
            }

        } 
        //保存左侧菜单
        store.commit('SET_LEFTMENUNAV', letMenuNav );
        store.commit( 'UPDATE_ISCHECKTOKEN',pathSplit[1] )
    }

    next()
  
 })
router.afterEach(transition => {
   
});